home *** CD-ROM | disk | FTP | other *** search
- package netscape.ldap;
-
- public class LDAPAttributeSchema extends LDAPSchemaElement {
- protected int syntax = 0;
- private boolean single = false;
-
- protected LDAPAttributeSchema() {
- }
-
- public LDAPAttributeSchema(String var1, String var2, String var3, int var4, boolean var5) {
- super(var1, var2, var3);
- super.attrName = "attributetypes";
- this.syntax = var4;
- this.single = var5;
- }
-
- public LDAPAttributeSchema(String var1) {
- super.attrName = "attributetypes";
- var1.trim();
- int var2 = var1.length();
- var1 = var1.substring(2, var2 - 1);
- var2 = var1.length();
- int var3 = var1.indexOf(32);
- super.oid = var1.substring(0, var3);
- char[] var4 = new char[var2];
- var1 = var1.substring(var3 + 1, var2);
- var2 = var1.length();
- var1.getChars(0, var2, var4, 0);
- var3 = 0;
- var2 = var4.length;
-
- while(var3 < var2) {
- String var5;
- for(var5 = ""; var4[var3] == ' '; ++var3) {
- }
-
- int var7;
- for(var7 = var3 + 1; var7 < var2 && var4[var7] != ' '; ++var7) {
- }
-
- if (var3 < var2 && var7 < var2) {
- var5 = new String(var4, var3, var7 - var3);
- var3 = var7;
- if (var5.equalsIgnoreCase("SINGLE-VALUE")) {
- this.single = true;
- continue;
- }
- } else {
- var3 = var2;
- }
-
- while(var3 < var2 && var4[var3] != '\'') {
- ++var3;
- }
-
- for(var7 = var3 + 1; var7 < var2 && var4[var7] != '\''; ++var7) {
- }
-
- if (var3 < var7 && var7 < var2) {
- String var6 = new String(var4, var3 + 1, var7 - var3 - 1);
- var3 = var7 + 1;
- if (var5.equalsIgnoreCase("NAME")) {
- super.name = var6;
- } else if (var5.equalsIgnoreCase("DESC")) {
- super.description = var6;
- } else if (var5.equalsIgnoreCase("SYNTAX")) {
- this.syntax = this.syntaxCheck(var6);
- }
- }
- }
-
- }
-
- public int getSyntax() {
- return this.syntax;
- }
-
- public boolean isSingleValued() {
- return this.single;
- }
-
- protected String internalSyntaxToString() {
- String var1;
- if (this.syntax == 1) {
- var1 = "1.3.6.1.4.1.1466.115.121.1.15";
- } else if (this.syntax == 2) {
- var1 = "1.3.6.1.4.1.1466.115.121.1.5";
- } else if (this.syntax == 4) {
- var1 = "1.3.6.1.4.1.1466.115.121.1.26";
- } else if (this.syntax == 3) {
- var1 = "1.3.6.1.4.1.1466.115.121.1.50";
- } else if (this.syntax == 5) {
- var1 = "1.3.6.1.4.1.1466.115.121.1.12";
- } else if (this.syntax == 6) {
- var1 = "1.3.6.1.4.1.1466.115.121.1.27";
- } else {
- var1 = "unknown";
- }
-
- return var1;
- }
-
- public String getValue() {
- String var1 = "( " + super.oid + " NAME '" + super.name + "' DESC '" + super.description + "' SYNTAX '";
- var1 = var1 + this.internalSyntaxToString();
- var1 = var1 + "' ";
- if (this.single) {
- var1 = var1 + "SINGLE-VALUE ";
- }
-
- var1 = var1 + ')';
- return var1;
- }
-
- protected String syntaxToString() {
- String var1;
- if (this.syntax == 1) {
- var1 = "case-insensitive string";
- } else if (this.syntax == 2) {
- var1 = "binary";
- } else if (this.syntax == 6) {
- var1 = "integer";
- } else if (this.syntax == 4) {
- var1 = "case-exact string";
- } else if (this.syntax == 3) {
- var1 = "telephone";
- } else if (this.syntax == 5) {
- var1 = "distinguished name";
- } else {
- var1 = "unknown";
- }
-
- return var1;
- }
-
- public String toString() {
- String var1 = "Name: " + super.name + "; OID: " + super.oid + "; Type: ";
- var1 = var1 + this.syntaxToString();
- var1 = var1 + "; Description: " + super.description + "; ";
- if (this.single) {
- var1 = var1 + "single-valued";
- } else {
- var1 = var1 + "multi-valued";
- }
-
- return var1;
- }
-
- protected int syntaxCheck(String var1) {
- byte var2 = 0;
- if (var1.equals("1.3.6.1.4.1.1466.115.121.1.15")) {
- var2 = 1;
- } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.5")) {
- var2 = 2;
- } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.26")) {
- var2 = 4;
- } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.27")) {
- var2 = 6;
- } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.50")) {
- var2 = 3;
- } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.12")) {
- var2 = 5;
- }
-
- return var2;
- }
- }
-